export default defineNuxtPlugin(async (nuxtApp) => {
  try {
    const runtimeConfig = useRuntimeConfig()
    const appConfig = useAppConfig()
    const res: any = await $fetch(runtimeConfig.public.baseUrl + '/configuration/getSiteAndCompanyInfo');
    console.log(res, '配置信息');

    if (res.status === 200) {
      const { data } = res;
      console.log(data, '数据')
      appConfig.systemConfig = data;
    }
    const menus: any = await $fetch(runtimeConfig.public.baseUrl + '/webmenus/tree');
    console.log(menus, '菜单树形结构');
    if (menus.status === 200) {
      appConfig.systemConfig.menus = menus.data;
    }
    // appConfig.systemConfig.siteInfo.siteTemplate = 'themev1'
    // 服务端设置主题
    setPageLayout(appConfig.systemConfig.siteInfo.siteTemplate);

  } catch (error) {
    console.error('初始化数据加载失败', error)
  }
  let startTime: number | null = null;
  nuxtApp.hook('page:start', async () => {
    /* 在这里写入你的代码 */
    console.log('页面开始加载');
    startTime = performance.now(); // 记录页面开始加载的时间点
  })

  nuxtApp.hook('page:finish', () => {
    const endTime = performance.now(); // 记录页面加载完成的时间点
    // @ts-ignore
    const loadTime = endTime - startTime; // 计算总加载时间
    console.log(`页面加载完成，加载时间: ${loadTime}ms`);
    // 可能的逻辑：隐藏加载指示器、发送页面加载时间的统计信息等
  });

  onNuxtReady(() => {
    console.log('app 已就绪');
  })
})